/* eslint-disable */

import { AxiosRequestConfig } from 'axios';
import { request } from '../../utils/request';

export interface PostConfTrackAlbumidAddAndUpdateRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {};
  traceId: string;
}

/**
 * 新增 && 编辑 从属专辑定时配置
 */
export async function postConfTrackAlbumidAddAndUpdate(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostConfTrackAlbumidAddAndUpdateRes> {
  return request(data, {
    url: '/confTrackAlbumid/addAndUpdate',
    method: 'post',
    ...config,
  });
}

export interface PostConfTrackAlbumidPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      id: number; // 流水号
      trackIdList: string; // 歌曲ID列表，逗号分隔
      albumId: number; // 专辑ID
      executeTime: string; // 执行时间 不填默认为立即执行
      createUser: string; // 用户名
      status: number; // 执行状态
      isValid: number; // 策略是否生效
      executeResult: string; // 执行结果
      insertTime: string; // 策略插入时间
      modifyTime: string; // 策略修改时间
      remarks: string; // 备注
    }>;
  };
  traceId: string;
}

/**
 * 分页查询
 */
export async function postConfTrackAlbumidPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostConfTrackAlbumidPageRes> {
  return request(data, {
    url: '/confTrackAlbumid/page',
    method: 'post',
    ...config,
  });
}

export interface GetConfTrackAlbumidIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    id: number; // 流水号
    trackIdList: string; // 歌曲ID列表，逗号分隔
    albumId: number; // 专辑ID
    executeTime: string; // 执行时间 不填默认为立即执行
    createUser: string; // 用户名
    status: number; // 执行状态
    isValid: number; // 策略是否生效
    executeResult: string; // 执行结果
    insertTime: string; // 策略插入时间
    modifyTime: string; // 策略修改时间
    remarks: string; // 备注
  };
  traceId: string;
}

/**
 * 获取定时从属专辑策略详情
 */
export async function getConfTrackAlbumidId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<GetConfTrackAlbumidIdRes> {
  return request(data, {
    url: `/confTrackAlbumid/${id}`,
    method: 'get',
    ...config,
  });
}
